KVM: arm/arm64: vgic-v3: Do not use Active+Pending state for a HW interrupt
authorMarc Zyngier <marc.zyngier@arm.com>
Tue, 2 May 2017 13:30:40 +0000 (14:30 +0100)
committerRaspbian kernel package updater <root@raspbian.org>
Sun, 23 Jul 2017 02:55:05 +0000 (02:55 +0000)
commit9ce89e4c3bd7e0809db2780f71144077d4fe1ca4
tree30d0bd236b9beaa671f341d01deaea65fb95807d
parent9db43b6daa95adfdceae9c58e19fbdb3365ab874
KVM: arm/arm64: vgic-v3: Do not use Active+Pending state for a HW interrupt

commit 3d6e77ad1489650afa20da92bb589c8778baa8da upstream.

When an interrupt is injected with the HW bit set (indicating that
deactivation should be propagated to the physical distributor),
special care must be taken so that we never mark the corresponding
LR with the Active+Pending state (as the pending state is kept in
the physycal distributor).

Fixes: 59529f69f504 ("KVM: arm/arm64: vgic-new: Add GICv3 world switch backend")
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Reviewed-by: Christoffer Dall <cdall@linaro.org>
Signed-off-by: Christoffer Dall <cdall@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
virt/kvm/arm/vgic/vgic-v3.c